package com.gopay.common.domain.cbrmb.customs.base;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlType;

import com.gopay.common.constants.cbrmb.customs.NameSpace;

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(name = "", propOrder = { "guid" })
@XmlRootElement(name = "InvtRefundHead", namespace = NameSpace.NAMESPACE_CEB_URI)
public class InvtRefundHead {
	/**
	 * 企业系统生成36位唯一序号（英文字母大写）。
	 */
	@XmlElement(name = "guid", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String guid;
	
	/**
	 * 企业报送类型。1-新增 2-变更 3-删除。默认为1。
	 */
	@XmlElement(name = "appType", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String appType;
	
	/**
	 * 企业报送时间。格式:YYYYMMDDhhmmss。
	 */
	@XmlElement(name = "appTime", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String appTime;
	
	/**
	 * 业务状态:1-暂存,2-申报,默认为1。填写2时,Signature节点必须填写.
	 */
	@XmlElement(name = "appStatus", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String appStatus;
	
	/**
	 * 接受申报的海关关区代码，参照JGS/T 18《海关关区代码》。
	 */
	@XmlElement(name = "customsCode", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String customsCode;
	
	/**
	 * 交易平台的订单编号，同一交易平台的订单编号应唯一。订单编号长度不能超过60位。
	 */
	@XmlElement(name = "orderNo", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String orderNo;
	
	/**
	 * 电商平台的海关注册登记编号；电商平台未在海关注册登记，由电商企业发送订单的，以中国电子口岸发布的电商平台标识编号为准。
	 */
	@XmlElement(name = "ebpCode", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String ebpCode;
	
	/**
	 * 电商平台的海关注册登记名称；电商平台未在海关注册登记，由电商企业发送订单的，以中国电子口岸发布的电商平台名称为准。
	 */
	@XmlElement(name = "ebpName", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String ebpName;
	
	/**
	 * 电商企业的海关注册登记编号。
	 */
	@XmlElement(name = "ebcCode", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String ebcCode;
	
	/**
	 * 电商企业的海关注册登记名称。
	 */
	@XmlElement(name = "ebcName", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String ebcName;
	
    /**
     * 物流企业的运单包裹面单号。同一物流企业的运单编号在6个月内不重复。运单编号长度不能超过60位。	
     */
	@XmlElement(name = "logisticsNo", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String logisticsNo;
	
	/**
	 * 物流企业的海关注册登记编号。
	 */
	@XmlElement(name = "logisticsCode", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String logisticsCode;
	
	/**
	 * 物流企业在海关注册登记的名称。
	 */
	@XmlElement(name = "logisticsName", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String logisticsName;
	
	/**
	 * 企业内部标识单证的编号。
	 */
	@XmlElement(name = "copNo", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String copNo;
	
	/**
	 * 电子口岸标识单证的编号。
	 */
	@XmlElement(name = "preNo", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String preNo;
	
	/**
	 * 申请退货的原始清单编号。
	 */
	@XmlElement(name = "invtNo", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String invtNo;
	
	/**
	 * 1-身份证,2-其它。限定为身份证，填写“1”。
	 */
	@XmlElement(name = "buyerIdType", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String buyerIdType;
	
	/**
	 * 订购人的身份证件号码。
	 */
	@XmlElement(name = "buyerIdNumber", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String buyerIdNumber;
	
	/**
	 * 订购人的真实姓名。
	 */
	@XmlElement(name = "buyerName", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String buyerName;
	
	/**
	 * 订购人电话。
	 */
	@XmlElement(name = "buyerTelephone", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String buyerTelephone;
	
	/**
	 * 申报单位的海关注册登记编号。
	 */
	@XmlElement(name = "agentCode", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String agentCode;
	
	/**
	 * 申报单位在海关注册登记的名称。
	 */
	@XmlElement(name = "agentName", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String agentName;
	
	/**
	 * 退货原因。
	 */
	@XmlElement(name = "reason", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String reason;
	
	/**
	 * 备注
	 */
	@XmlElement(name = "note", namespace = NameSpace.NAMESPACE_CEB_URI, required = true)
	private String note;

	public String getGuid() {
		return guid;
	}

	public void setGuid(String guid) {
		this.guid = guid;
	}

	public String getAppType() {
		return appType;
	}

	public void setAppType(String appType) {
		this.appType = appType;
	}

	public String getAppTime() {
		return appTime;
	}

	public void setAppTime(String appTime) {
		this.appTime = appTime;
	}

	public String getAppStatus() {
		return appStatus;
	}

	public void setAppStatus(String appStatus) {
		this.appStatus = appStatus;
	}

	public String getCustomsCode() {
		return customsCode;
	}

	public void setCustomsCode(String customsCode) {
		this.customsCode = customsCode;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public String getEbpCode() {
		return ebpCode;
	}

	public void setEbpCode(String ebpCode) {
		this.ebpCode = ebpCode;
	}

	public String getEbpName() {
		return ebpName;
	}

	public void setEbpName(String ebpName) {
		this.ebpName = ebpName;
	}

	public String getEbcCode() {
		return ebcCode;
	}

	public void setEbcCode(String ebcCode) {
		this.ebcCode = ebcCode;
	}

	public String getEbcName() {
		return ebcName;
	}

	public void setEbcName(String ebcName) {
		this.ebcName = ebcName;
	}

	public String getLogisticsNo() {
		return logisticsNo;
	}

	public void setLogisticsNo(String logisticsNo) {
		this.logisticsNo = logisticsNo;
	}

	public String getLogisticsCode() {
		return logisticsCode;
	}

	public void setLogisticsCode(String logisticsCode) {
		this.logisticsCode = logisticsCode;
	}

	public String getLogisticsName() {
		return logisticsName;
	}

	public void setLogisticsName(String logisticsName) {
		this.logisticsName = logisticsName;
	}

	public String getCopNo() {
		return copNo;
	}

	public void setCopNo(String copNo) {
		this.copNo = copNo;
	}

	public String getPreNo() {
		return preNo;
	}

	public void setPreNo(String preNo) {
		this.preNo = preNo;
	}

	public String getInvtNo() {
		return invtNo;
	}

	public void setInvtNo(String invtNo) {
		this.invtNo = invtNo;
	}

	public String getBuyerIdType() {
		return buyerIdType;
	}

	public void setBuyerIdType(String buyerIdType) {
		this.buyerIdType = buyerIdType;
	}

	public String getBuyerIdNumber() {
		return buyerIdNumber;
	}

	public void setBuyerIdNumber(String buyerIdNumber) {
		this.buyerIdNumber = buyerIdNumber;
	}

	public String getBuyerName() {
		return buyerName;
	}

	public void setBuyerName(String buyerName) {
		this.buyerName = buyerName;
	}

	public String getBuyerTelephone() {
		return buyerTelephone;
	}

	public void setBuyerTelephone(String buyerTelephone) {
		this.buyerTelephone = buyerTelephone;
	}

	public String getAgentCode() {
		return agentCode;
	}

	public void setAgentCode(String agentCode) {
		this.agentCode = agentCode;
	}

	public String getAgentName() {
		return agentName;
	}

	public void setAgentName(String agentName) {
		this.agentName = agentName;
	}

	public String getReason() {
		return reason;
	}

	public void setReason(String reason) {
		this.reason = reason;
	}

	public String getNote() {
		return note;
	}

	public void setNote(String note) {
		this.note = note;
	}
	
}
